import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

//前端给后端传递数据是很常见的，getParameter就是获取前端传过来的 query string的
//根据key 来获取value，这个方法也是最常用的一种方法
//前端传递数据的方式有三种
@WebServlet("/getParameter2")
public class GetParameter2 extends HttpServlet {
    //通过query string携带数据发送到服务器中
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //前端通过url的query string 传递 aa 和 bb 两个属性
        //显示的告诉服务器前段是用utf8来进行编码的
        req.setCharacterEncoding("utf8");//这里是给前端设置编码方式
        String userName = req.getParameter("aa");//参数代表query string的key名
        String passWord = req.getParameter("bb");
        if (passWord == null) {
            System.out.println("password 这个 key 在query string 中不存在！");
        }
        if (userName == null) {
            System.out.println("userName 这个 key 在 query string 中不存在");
        }
        System.out.println("aa=" + userName + ", bb=" + passWord);
        resp.getWriter().write("ok");
    }

    //通过body携带数据发送到服务器上
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //给请求设置编码方式
        req.setCharacterEncoding("utf8");
        String aa = req.getParameter("aa");
        String bb = req.getParameter("bb");
        if (aa == null) {
            System.out.println("aa这个 key 在 query string中不存在");
        }
        if (bb == null) {
            System.out.println("bb 这个key 在 query string中不存在");
        }
        System.out.println("aa=" + aa + ", bb= " +bb);
        resp.getWriter().write("ok");
    }
}
